補上一個’前提’:
JavaScript的編譯如果出現錯誤,接下來的程式碼通通不會有作用,請務必排除!
在數學裏頭,也有這樣的兩個觀念:RHS、LHS,
但在數學中,會有”等式”的左右的概念。
例如這個例子:
x+y=5
RHS=5
LHS=x+y
我們在程式語言中,這樣子理解它
RHS: Right-hand side //從右邊的變數”取值”。
LHS: Left-hand side //”賦予”值到左邊的變數。
來個簡簡單單小範例
var genius='Eason'
Eason的值被賦予到左邊的genius變數裡面,這叫做LHS
試一下如果是LHS錯誤,是甚麼樣
這邊簡單粗暴的示範一下
'Eason'=1;
這樣的程式碼錯誤,在瀏覽器中開發人員工具裡的報錯的樣子,這邊示範的是,當左邊不是個「變數」的時候,沒有辦法被「賦予」值。
LHS錯誤
接著來看RHS的錯誤範例:
宣告變數genius的值是’Eason’,想用console.log(genus);顯示Eason出來,genus是個沒有被定義過的變數所以consolo從右邊變數(genus)取值失敗了。
var genius='Eason';
console.log(genus);
RHS不會再編譯階段發現錯誤,要到執行階段才會發現喔。
參考資料:
六角學院-JavaScript核心篇
Eason的前端筆記 同步連載